<html>
<head><meta charset="utf-8"><title>non-tls Async/Await · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html">non-tls Async/Await</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="171750294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171750294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171750294">(Jul 26 2019 at 06:08)</a>:</h4>
<p><span class="user-mention" data-user-id="119009">@eddyb</span> I'm here :)</p>



<a name="171750305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171750305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171750305">(Jul 26 2019 at 06:09)</a>:</h4>
<p><span class="user-mention" data-user-id="116466">@Zoxc</span></p>



<a name="171750309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171750309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171750309">(Jul 26 2019 at 06:09)</a>:</h4>
<p>I'm currently hacking on removing the TLS dependency from async/await</p>



<a name="171750367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171750367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171750367">(Jul 26 2019 at 06:10)</a>:</h4>
<p>also, cc <span class="user-mention" data-user-id="127859">@Taylor Cramer</span> &amp; <span class="user-mention" data-user-id="116883">@tmandry</span> who gave me initial pointers</p>



<a name="171750568"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171750568" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171750568">(Jul 26 2019 at 06:16)</a>:</h4>
<p>My understanding of this issue is that I need to do a few things. </p>
<p>1. Add arguments to <code>resume()</code><br>
2. change the lowering code to have a <code> context = yield ...</code> type pattern that mutates the shared context inside the expanded generator future<br>
3. make  yield actually return something other than the unit type</p>



<a name="171750852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171750852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171750852">(Jul 26 2019 at 06:24)</a>:</h4>
<p>there is some question about how to get the initial state into the <code>from_generator()</code> though, since it needs to be a valid <code>Context&lt;'_&gt;</code> IIUC</p>
<p><a href="https://gist.github.com/cavedweller/22ce62dc823defac5fc54e2160f084f8/a58abb06fe46f15515b9a4c77ed9d3f7f1a0e27e" target="_blank" title="https://gist.github.com/cavedweller/22ce62dc823defac5fc54e2160f084f8/a58abb06fe46f15515b9a4c77ed9d3f7f1a0e27e">https://gist.github.com/cavedweller/22ce62dc823defac5fc54e2160f084f8/a58abb06fe46f15515b9a4c77ed9d3f7f1a0e27e</a></p>



<a name="171750855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171750855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171750855">(Jul 26 2019 at 06:24)</a>:</h4>
<p>although maybe a <code>yield ()</code> would work right there as well</p>



<a name="171751034"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751034" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751034">(Jul 26 2019 at 06:30)</a>:</h4>
<p>The first step would be to add generator arguments back. My original PR used <code>gen arg</code> as the syntax for it, but it probably make more sense to use the closure syntax for it <code>|arg1, arg2| {  ... }</code>.</p>



<a name="171751087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751087">(Jul 26 2019 at 06:30)</a>:</h4>
<p>Are generator arguments really necessary? shouldn't args on resume be sufficient?</p>



<a name="171751099"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751099" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751099">(Jul 26 2019 at 06:31)</a>:</h4>
<p>(context: I have no idea what I'm talking about. Just trying to understand :) )</p>



<a name="171751145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751145">(Jul 26 2019 at 06:32)</a>:</h4>
<p>Generator arguments would be the arguments you pass to <code>resume</code>.</p>



<a name="171751160"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751160" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751160">(Jul 26 2019 at 06:33)</a>:</h4>
<p>ah, cool! I used the horrific <code>rust-call</code> abi hack to do that</p>
<p><code> extern "rust-call" fn resume(self: Pin&lt;&amp;mut Self&gt;, args: Args) -&gt; GeneratorState&lt;Self::Yield, Self::Return&gt;;</code></p>



<a name="171751175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751175">(Jul 26 2019 at 06:33)</a>:</h4>
<p>but I can do that differently if prefered</p>



<a name="171751305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751305">(Jul 26 2019 at 06:36)</a>:</h4>
<p>This is my branch with generators arguments: <a href="https://github.com/Zoxc/rust/commits/gen-body" target="_blank" title="https://github.com/Zoxc/rust/commits/gen-body">https://github.com/Zoxc/rust/commits/gen-body</a></p>



<a name="171751317"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751317" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751317">(Jul 26 2019 at 06:37)</a>:</h4>
<p>It has bitrotted now, but it might be useful to look at. (last 2 commits)</p>



<a name="171751375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751375">(Jul 26 2019 at 06:38)</a>:</h4>
<p>This would have been very helpful a couple hours ago :D</p>



<a name="171751392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751392">(Jul 26 2019 at 06:39)</a>:</h4>
<p>You should not make <code>yield</code> return the arguments as that is a terrible solution (it requires you to yield to access the arguments).</p>



<a name="171751397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751397">(Jul 26 2019 at 06:39)</a>:</h4>
<p>ok :/ What would you prefer?</p>



<a name="171751462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751462">(Jul 26 2019 at 06:41)</a>:</h4>
<p>Using the same syntax as closures (with named arguments)</p>



<a name="171751525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751525">(Jul 26 2019 at 06:42)</a>:</h4>
<p>I'm not really following what that looks like unfortunately</p>



<a name="171751791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751791">(Jul 26 2019 at 06:50)</a>:</h4>
<p>Do you know how to declare and use arguments in closures?</p>



<a name="171751838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751838">(Jul 26 2019 at 06:50)</a>:</h4>
<p>yes</p>



<a name="171751845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751845">(Jul 26 2019 at 06:50)</a>:</h4>
<p>Exactly the same syntax could be used for generators =P</p>



<a name="171751867"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751867" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751867">(Jul 26 2019 at 06:51)</a>:</h4>
<p>Currently generators have the same syntax as closures, but are required to have 0 arguments.</p>



<a name="171751920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171751920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171751920">(Jul 26 2019 at 06:52)</a>:</h4>
<p>ooo. It's my unfamiliarity with the constraints on generators here that was throwing me off</p>



<a name="171752010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171752010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171752010">(Jul 26 2019 at 06:54)</a>:</h4>
<p>It's probably not the easiest way to add arguments though, using a dedicated AST node like my branch might be easier.</p>



<a name="171752025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171752025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171752025">(Jul 26 2019 at 06:55)</a>:</h4>
<p>You could use a <code>gen_arg!</code> macro to generate the AST node (like <code>asm!</code>)</p>



<a name="171752151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171752151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171752151">(Jul 26 2019 at 06:58)</a>:</h4>
<p>I guess an intrinsic would also work instead of the custom AST node, and be less invasive</p>



<a name="171752252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171752252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171752252">(Jul 26 2019 at 07:01)</a>:</h4>
<p>ok, this might be silly</p>



<a name="171752262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171752262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171752262">(Jul 26 2019 at 07:01)</a>:</h4>
<p>why is getting the result from the <code>yield</code> bad?</p>



<a name="171752270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171752270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171752270">(Jul 26 2019 at 07:01)</a>:</h4>
<p>I can't think of a scenario where you wouldn't be calling it</p>



<a name="171752327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171752327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171752327">(Jul 26 2019 at 07:02)</a>:</h4>
<p>I also have practically no insight into the long term plans for Generators though</p>



<a name="171752831"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171752831" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171752831">(Jul 26 2019 at 07:14)</a>:</h4>
<p>You may want to start an async operation using a context passed in the argument then yield to wait for it to complete.</p>



<a name="171754416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171754416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171754416">(Jul 26 2019 at 07:50)</a>:</h4>
<p>which is kinda exactly what I need I guess as well</p>



<a name="171754425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171754425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171754425">(Jul 26 2019 at 07:51)</a>:</h4>
<p>I'll do this with a specialized node tomorrow</p>



<a name="171785605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171785605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171785605">(Jul 26 2019 at 16:02)</a>:</h4>
<blockquote>
<p>ou may want to start an async operation using a context passed in the argument then yield to wait for it to complete.</p>
</blockquote>



<a name="171785612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171785612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171785612">(Jul 26 2019 at 16:02)</a>:</h4>
<p>that isn't how <code>async</code> works today</p>



<a name="171785624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171785624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171785624">(Jul 26 2019 at 16:02)</a>:</h4>
<p>no code is run until you <code>.poll</code> for the first time</p>



<a name="171785630"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171785630" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171785630">(Jul 26 2019 at 16:02)</a>:</h4>
<p>(<code>.resume</code>)</p>



<a name="171785705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171785705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171785705">(Jul 26 2019 at 16:03)</a>:</h4>
<p>on the very first poll, you enter the function, which is a generator. the very first <code>.resume</code> arguments translate to the arguments to that closure body</p>



<a name="171785780"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171785780" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171785780">(Jul 26 2019 at 16:04)</a>:</h4>
<p>store the results in a context variable, and update it every time <code>yield</code> is called</p>



<a name="171785930"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171785930" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171785930">(Jul 26 2019 at 16:06)</a>:</h4>
<p><a href="https://gist.github.com/cavedweller/22ce62dc823defac5fc54e2160f084f8" target="_blank" title="https://gist.github.com/cavedweller/22ce62dc823defac5fc54e2160f084f8">https://gist.github.com/cavedweller/22ce62dc823defac5fc54e2160f084f8</a></p>



<a name="171785944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171785944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171785944">(Jul 26 2019 at 16:06)</a>:</h4>
<blockquote>
<p>arguments translate to the arguments to that closure body</p>
</blockquote>



<a name="171785947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171785947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171785947">(Jul 26 2019 at 16:06)</a>:</h4>
<p>like that?</p>



<a name="171786126"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171786126" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171786126">(Jul 26 2019 at 16:09)</a>:</h4>
<p>without the rename of ctx to context, yes</p>



<a name="171786132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171786132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171786132">(Jul 26 2019 at 16:09)</a>:</h4>
<p>it needs to remain updated after the call to <code>.await</code></p>



<a name="171786215"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171786215" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171786215">(Jul 26 2019 at 16:10)</a>:</h4>
<p><a href="https://gist.github.com/cramertj/de3f16afe33c47cc814f3929cbe33a7a" target="_blank" title="https://gist.github.com/cramertj/de3f16afe33c47cc814f3929cbe33a7a">https://gist.github.com/cramertj/de3f16afe33c47cc814f3929cbe33a7a</a></p>



<a name="171786466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171786466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171786466">(Jul 26 2019 at 16:14)</a>:</h4>
<p>cool, things make sense :)</p>



<a name="171805942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171805942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171805942">(Jul 26 2019 at 20:03)</a>:</h4>
<p><span class="user-mention" data-user-id="127859">@Taylor Cramer</span> interesting, I think that implies some sort of rule that our arg <code>cx</code> must _always_ be replaced by a <code>yield</code> (if it is, for example, a <code>&amp;mut Context</code>), so it's not implicitly saved in the generator object</p>



<a name="171806003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171806003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171806003">(Jul 26 2019 at 20:04)</a>:</h4>
<p>although as I'm typing this I realize that typeck for generators might basically already do this</p>



<a name="171806162"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/171806162" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#171806162">(Jul 26 2019 at 20:06)</a>:</h4>
<p>there was mention in one of the pre-RFCs of yielding the context <em>out</em> of the generator, but I guess that isn't necessary if typeck can handle this</p>



<a name="172067227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/172067227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#172067227">(Jul 30 2019 at 19:10)</a>:</h4>
<p>So I have the lowering working on this (finally)</p>



<a name="172067298"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/172067298" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#172067298">(Jul 30 2019 at 19:11)</a>:</h4>
<p>currently investigating modifying the generator code to have yield return a value</p>



<a name="172067321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/172067321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#172067321">(Jul 30 2019 at 19:11)</a>:</h4>
<p>if you have any insight <span class="user-mention" data-user-id="116466">@Zoxc</span>, it'd be appreciated :)</p>



<a name="172071320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/172071320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#172071320">(Jul 30 2019 at 20:02)</a>:</h4>
<p>oooh, is this the issue that will allow <code>async fn</code> and <code>.await</code> without libstd, and only libcore?</p>



<a name="172071578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/172071578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#172071578">(Jul 30 2019 at 20:05)</a>:</h4>
<p>I believe so, or at least moves us much closer to that</p>



<a name="172072342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/172072342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#172072342">(Jul 30 2019 at 20:14)</a>:</h4>
<p>yeah, that's what I'm working on unblocking right now</p>



<a name="172075140"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/172075140" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#172075140">(Jul 30 2019 at 20:49)</a>:</h4>
<p>nice!</p>



<a name="172077015"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/172077015" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#172077015">(Jul 30 2019 at 21:13)</a>:</h4>
<p>It'll be a while :P It's pretty gnarly</p>



<a name="172090438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/172090438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#172090438">(Jul 31 2019 at 01:05)</a>:</h4>
<p>Are you done yet? /troll</p>



<a name="172090595"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/172090595" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#172090595">(Jul 31 2019 at 01:08)</a>:</h4>
<div class="codehilite"><pre><span></span>thread &#39;rustc&#39; panicked at &#39;index out of bounds: the len is 1 but the index is 1&#39;, /usr/local/google/home/bwb/rust/src/libcore/slice/mod.rs:2690:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
error: internal compiler error: cat_expr Errd
 --&gt; src/lib.rs:3:26
  |
3 |   pub async fn bar() -&gt; u32{
  |  __________________________^
4 | |     3
5 | | }
  | |_^

error: internal compiler error: cat_expr Errd
 --&gt; src/lib.rs:3:26
  |
3 |   pub async fn bar() -&gt; u32{
  |  __________________________^
4 | |     3
5 | | }
  | |_^
</pre></div>



<a name="172090598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/172090598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#172090598">(Jul 31 2019 at 01:08)</a>:</h4>
<p>not yet</p>



<a name="172090622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/172090622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#172090622">(Jul 31 2019 at 01:09)</a>:</h4>
<p>teaching <code>yield ()</code> that it can return something other than <code>()</code> is causing me to learn a lot about... well, all of the rustc internals</p>



<a name="173036452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/173036452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#173036452">(Aug 12 2019 at 16:05)</a>:</h4>
<p>hey</p>



<a name="173036469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/173036469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#173036469">(Aug 12 2019 at 16:05)</a>:</h4>
<p><span class="user-mention" data-user-id="217516">@Benjamin Brittain</span> just in case you didn't see my pings elsewhere: I should be more available now</p>



<a name="173036523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/173036523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#173036523">(Aug 12 2019 at 16:06)</a>:</h4>
<p>I disagree with making this anything like closures</p>



<a name="173036533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/173036533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#173036533">(Aug 12 2019 at 16:06)</a>:</h4>
<p>forcing it to always be one thing makes expression <code>yield</code> much easier</p>



<a name="173036589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/173036589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#173036589">(Aug 12 2019 at 16:07)</a>:</h4>
<p><code>Generator</code> -&gt; <code>Generator&lt;T&gt;</code></p>



<a name="173047748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/173047748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#173047748">(Aug 12 2019 at 18:31)</a>:</h4>
<p>Hey! I missed your pings because I've been on a train the last week :)</p>



<a name="173047796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/173047796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#173047796">(Aug 12 2019 at 18:32)</a>:</h4>
<p>I'm back and I'd like to get working on this again</p>



<a name="173047851"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/173047851" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#173047851">(Aug 12 2019 at 18:32)</a>:</h4>
<p>I don't have any particular investment in an implementation method (nor the context), just a desire to remove TLS</p>



<a name="173047876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/173047876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Benjamin Brittain <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#173047876">(Aug 12 2019 at 18:33)</a>:</h4>
<p>cc/ <span class="user-mention" data-user-id="127859">@Taylor Cramer</span> ^</p>



<a name="173091551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/173091551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#173091551">(Aug 13 2019 at 07:16)</a>:</h4>
<p><span class="user-mention" data-user-id="217516">@Benjamin Brittain</span> btw unless I am actively talking, feel free to ping me because Zulip won't notify me otherwise :(</p>



<a name="173091565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/173091565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#173091565">(Aug 13 2019 at 07:17)</a>:</h4>
<p><span class="user-mention" data-user-id="217516">@Benjamin Brittain</span> what do you have so far? and what are you stuck on?</p>



<a name="173233549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/non-tls%20Async/Await/near/173233549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/non-tls.20Async.2FAwait.html#173233549">(Aug 14 2019 at 19:21)</a>:</h4>
<p>maybe move this discussion to <a class="stream" data-stream-id="187312" href="/#narrow/stream/187312-wg-async-foundations">#wg-async-foundations</a> ?</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>